Encoding of digital video data is generally performed in order to compress the amount of data needed to represent a video stream. It is known in the art to encode a frame one set of pixels at a time. For example, each macroblock of a frame can be encoded by comparing the macroblock's pixels to the pixels of other macroblocks of a frame that has been previously displayed, or decoded. Once a set of pixels in the previous frame that corresponds closely to the set of pixels being encoded is found, a motion vector pointing to that set of pixels is identified. Once a motion vector to the set of pixels is identified, any information difference between the two sets of pixels can be quantified and efficiently compressed.
Known methods of encoding will correlate the set of pixels being encoded to sets of pixels in the previous frame or a portion of the previous frame until a correlation threshold is met. Once the correlation threshold is met, it is known that a pixel set in a previous frame that corresponds sufficiently close to the pixel set being encoded has been found. Due to the large amount of data associated with video streams, and video frames, the encoding process can be a very time-consuming process. Therefore, a system or method capable of more efficiently encoding pixels sets would be useful.